package com.nineclock.api.system.controller;

import com.nineclock.common.entity.Result;
import com.nineclock.dto.*;
import com.nineclock.pojo.SysCompany;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.List;

@Api(value = "企业相关服务")
public interface SysCompanyControllerApi {
    @ApiOperation("根据用户ID查询所对应的企业")
    public Result<List<SysCompanyDTO>> findCompanyByUserId(long userId);

    @ApiOperation("查询企业基本信息-用于回显数据")
    public Result<SysCompanyDTO> findCompanyInfo();

    @ApiOperation("上传企业头像")
    public Result<String> uploadOSS(MultipartFile file);

    @ApiOperation("更新当前企业的基本信息")
    public Result updateCompanyInfo(SysCompanyDTO sysCompanyDTO);

    @ApiOperation("查询当前管理员用于回显")
    public Result<SysCompanyUserDTO> findCompanyUserAdmin();

    @ApiOperation("更改系统管理员")
    public Result updateAdmin(SysChangeMainManagerDTO sysChangeMainManagerDTO);

    @ApiOperation("根据关键字查询所有企业列表")
    public Result<List<SysCompanyDTO>> findCompanyByKeyword(String keyword);

    @ApiOperation("加入企业申请")
    public Result applyJoinCompany(SysApplyJoinCompanyUserDTO joinCompanyUserDTO);

    @ApiOperation("审核加入企业")
    public Result allowedJoinCompany(SysAllowedJoinCompanyUserDTO sysAllowedJoinCompanyUserDTO);
}
